// 当前主题
export let currentTheme = 'light';

// 切换主题函数
export function toggleTheme() {
    const newTheme = currentTheme === 'light' ? 'dark' : 'light';
    changeTheme(newTheme);
}

// 改变主题函数
export function changeTheme(theme) {
    if (theme !== 'light' && theme !== 'dark') {
        console.error('Unsupported theme:', theme);
        return;
    }
    
    currentTheme = theme;
    
    // 更新body的class来切换主题
    document.body.classList.remove('light-theme', 'dark-theme');
    document.body.classList.add(`${theme}-theme`);
    
    // 更新主题切换按钮的状态
    updateThemeToggleButton();
    
    // 保存主题偏好到localStorage
    localStorage.setItem('preferredTheme', theme);
}

// 更新主题切换按钮状态
function updateThemeToggleButton() {
    const themeToggleButton = document.getElementById('themeToggle');
    if (themeToggleButton) {
        // 更新按钮文本或图标
        const iconElement = themeToggleButton.querySelector('.theme-icon');
        if (iconElement) {
            iconElement.textContent = currentTheme === 'light' ? '🌙' : '☀️';
        }
        
        // 更新按钮tooltip
        themeToggleButton.setAttribute('title', 
            currentTheme === 'light' ? '切换到深色模式' : '切换到浅色模式');
    }
}

// 初始化主题设置
export function initTheme() {
    // 从localStorage获取保存的主题偏好，如果没有则使用系统偏好或默认为浅色模式
    const savedTheme = localStorage.getItem('preferredTheme');
    
    // 检查系统颜色方案偏好
    const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
    const initialTheme = savedTheme || (prefersDark ? 'dark' : 'light');
    
    changeTheme(initialTheme);
}

// 获取当前主题
function getCurrentTheme() {
    return currentTheme;
}

// 导出函数
export { getCurrentTheme };